$(function() {
	$("#jqGrid").jqGrid({
		url : baseURL + 'patientinfo/list',
		datatype : "json",
		colModel : [ {
			label : '病历编号',
			name : 'pno',
			index : 'pno',
			width : 90,
			key : true
		}, {
			label : '姓名',
			name : 'pname',
			index : 'pname',
			width : 40
		}, {
			label : '身份证号',
			name : 'identity',
			index : 'identity',
			width : 100
		}, {
			label : '性别',
			name : 'psex',
			index : 'psex',
			width : 30,
			formatter : function(cellvalue, options, rowObject) {
				var text = '男';
				// 数字对应中文匹配
				switch (rowObject.psex) {
				case 0:
					text = '女';
					break;
				case 1:
					text = '男';
					break;
				default:
					break;
				}
				return text;
			}
		}, {
			label : '年龄',
			name : 'age',
			index : 'age',
			width : 30
		}, {
			label : '主治医生',
			name : 'dname',
			index : 'dname',
			width : 80
		}, {
			label : '就诊科室',
			name : 'department',
			index : 'department',
			width : 80
		}, {
			label : '就诊时间',
			name : 'treatdate',
			index : 'treatdate',
			width : 80
		}, {
			label : '入院时间',
			name : 'arrivedate',
			index : 'arrivedate',
			width : 80
		}, {
			label : '就诊费用',
			name : 'totalcost',
			index : 'totalcost',
			width : 80
		}, {
			label : '备注',
			name : 'notes',
			index : 'notes',
			width : 80
		} ],
		viewrecords : true,
		height : 385,
		rowNum : 10,
		rowList : [ 10, 30, 50 ],
		rownumbers : true,
		rownumWidth : 25,
		autowidth : true,
		multiselect : true,
		pager : "#jqGridPager",
		jsonReader : {
			root : "page.list",
			page : "page.currentPage",
			total : "page.totalPage",
			records : "page.totalCount"
		},
		prmNames : {
			page : "currentPage",
			rows : "pageSize",
			order : "order"
		},
		gridComplete : function() {
			// 隐藏grid底部滚动条
			$("#jqGrid").closest(".ui-jqgrid-bdiv").css({
				"overflow-x" : "hidden"
			});
		}
	});
});

var vm = new Vue(
		{
			el : '#rrapp',
			data : {
				showList : true,
				title : null,
				patientinfo : {},
				q : {
					dName : null
				},
				radio_checked_personSex : true,
				doctorOptions : []
			},
			methods : {
				query : function() {
					$("#jqGrid").jqGrid('setGridParam', {
						url : baseURL + 'patientinfo/screening',
						postData : {
							'dname' : vm.q.dName
						},
						page : 1
					}).trigger("reloadGrid");
				},
				add : function() {
					vm.showList = false;
					vm.title = "新增";
					vm.patientinfo = {
						psex : 1,
						totalcost : 0,
						arrivedate : writeCurrentDate()
					};
					// 初始化组件的值
					vm.radio_checked_personSex = vm.patientinfo.psex == '1' ? true
							: false;
					// 获取医生列表
					$.ajax({
						type : "POST",
						url : baseURL + "doctorinfo/combox",
						contentType : "application/json",
						success : function(r) {
							if (r.code === 0) {
								vm.doctorOptions = r.reList;
							} else {
								alert(r.msg);
							}
						}
					});

				},
				update : function(event) {
					var pno = getSelectedRow();
					if (pno == null) {
						return;
					}
					vm.showList = false;
					vm.title = "修改";

					vm.getInfo(pno)
				},
				saveOrUpdate : function(event) {
					var url = vm.patientinfo.pno == null ? "patientinfo/save"
							: "patientinfo/update";
					if (vm.patientinfo.pname == null
							|| vm.patientinfo.pname == "") {
						alert("填写姓名");
						return;
					}
					if (!(/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
							.test(vm.patientinfo.identity))) {
						alert("身份证号有误");
						return;
					}
					if (vm.patientinfo.dno == null || vm.patientinfo.dno == 0) {
						alert("请选择主治医生");
						return;
					}
					if (!(/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/
							.test(vm.patientinfo.totalcost))) {
						alert("就诊费用填写有误,最多保留两位小数");
						return;
					}
					$.ajax({
						type : "POST",
						url : baseURL + url,
						contentType : "application/json",
						data : JSON.stringify(vm.patientinfo),
						success : function(r) {
							if (r.code === 0) {
								alert('操作成功', function(index) {
									vm.reload();
								});
							} else {
								alert(r.msg);
							}
						}
					});
				},
				del : function(event) {
					var pnos = getSelectedRows();
					if (pnos == null) {
						return;
					}

					confirm('确定要删除选中的记录？', function() {
						$.ajax({
							type : "POST",
							url : baseURL + "patientinfo/delete",
							contentType : "application/json",
							data : JSON.stringify(pnos),
							success : function(r) {
								if (r.code == 0) {
									alert('操作成功', function(index) {
										$("#jqGrid").trigger("reloadGrid");
									});
								} else {
									alert(r.msg);
								}
							}
						});
					});
				},
				getInfo : function(pno) {
					$
							.get(
									baseURL + "patientinfo/info/" + pno,
									function(r) {
										vm.patientinfo = r.patientinfo;
										// 初始化组件的值
										vm.radio_checked_personSex = vm.patientinfo.psex == '1' ? true
												: false;
									});
				},
				reload : function(event) {
					vm.showList = true;
					var page = $("#jqGrid").jqGrid('getGridParam', 'page');
					$("#jqGrid").jqGrid('setGridParam', {
						page : page
					}).trigger("reloadGrid");
				}
			}
		});